#ifndef SHOPITEM_H
#define SHOPITEM_H

#include <QString>

#include "Shop.h"

  // base class for all items in shop
  // description of an item is in tooltip
  // all shop item's classes have prefix SI
  // example: SIRessurection
class ShopItem
{
    public:
        ShopItem( Shop* shop_ )
        :shop(shop_)
        {}

        virtual ~ShopItem(){}

        Shop* getShop() const { return shop; }

        virtual int price() const = 0;
          // buys the item
        void purchase();

          // this is what is done when item is bought
        virtual void effect() = 0;
          // returns item's tooltip
        virtual QString getToolTip() = 0;
    protected:
    private:
        // shop itself
      Shop* shop;
};

#endif // SHOPITEM_H
